Problem: half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) bits(0()) -> 0() bits(s(x)) -> s(bits(half(s(x)))) Proof: Complexity Transformation Processor: strict: half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) bits(0()) -> 0() bits(s(x)) -> s(bits(half(s(x)))) weak: Matrix Interpretation Processor: dimension: 1 max_matrix: 1 interpretation: [bits](x0) = x0 + 1, [s](x0) = x0 + 10, [half](x0) = x0 + 118, [0] = 38 orientation: half(0()) = 156 >= 38 = 0() half(s(0())) = 166 >= 38 = 0() half(s(s(x))) = x + 138 >= x + 128 = s(half(x)) bits(0()) = 39 >= 38 = 0() bits(s(x)) = x + 11 >= x + 139 = s(bits(half(s(x)))) problem: strict: bits(s(x)) -> s(bits(half(s(x)))) weak: half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) bits(0()) -> 0() Arctic Interpretation Processor: dimension: 3 interpretation: [0 0 0] [bits](x0) = [0 1 1]x0 [2 0 3] , [0 0 -&] [s](x0) = [2 0 -&]x0 [1 2 0 ] , [0 -& -&] [half](x0) = [0 -& -&]x0 [0 -& -&] , [0 ] [0] = [-&] [-&] orientation: [2 2 0] [1 1 -&] bits(s(x)) = [3 3 1]x >= [2 2 -&]x = s(bits(half(s(x)))) [4 5 3] [3 3 -&] [0] [0 ] half(0()) = [0] >= [-&] = 0() [0] [-&] [0] [0 ] half(s(0())) = [0] >= [-&] = 0() [0] [-&] [2 0 -&] [0 -& -&] half(s(s(x))) = [2 0 -&]x >= [2 -& -&]x = s(half(x)) [2 0 -&] [2 -& -&] [0] [0 ] bits(0()) = [0] >= [-&] = 0() [2] [-&] problem: strict: weak: bits(s(x)) -> s(bits(half(s(x)))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) bits(0()) -> 0() Qed